前言

概述

本文介绍WS53V100的AT指令式及场景,为用户提供相应的指令格式和参数示例解释。

产品版本

与本文档相对应的产品版本如下。

产品名称

产品版本

WS53

V100

读者对象

本文档主要适用于以下工程师:

  • 技术支持工程师

  • 软件开发工程师

符号约定

在本文中可能出现下列标志,它们所代表的含义如下。

符号

说明

表示如不避免则将会导致死亡或严重伤害的具有高等级风险的危害。

表示如不避免则可能导致死亡或严重伤害的具有中等级风险的危害。

表示如不避免则可能导致轻微或中度伤害的具有低等级风险的危害。

用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。

“须知”不涉及人身伤害。

对正文中重点信息的补充说明。

“说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。

修改记录

文档版本

发布日期

修改说明

06

2026-04-20

05

2025-05-28

04

2025-01-14

03

2024-11-25

02

2024-09-13

01

2024-08-08

第一次正式版本发布。

00B04

2024-07-19

00B03

2024-06-11

00B02

2024-04-03

更新“BLE&SLE模块AT指令”小节内容。

00B01

2024-01-31

第一次临时版本发布。

指令说明

命令简介

AT命令用于TE(例如:PC等用户终端)和MT(例如:移动台等移动终端)之间控制信息的交互,如图1所示。

图 1 AT命令示意图

指令类型

AT指令类型如表1所示。

表 1 AT指令类型说明

类型

格式

用途

测试指令

AT+<cmd>=?

该命令用于查询设置指令的参数以及取值范围。

查询指令

AT+<cmd>?

该命令用于返回参数的当前值。

设置指令

AT+<cmd>=<parameter>,…

设置参数值或执行。

执行指令

AT+<cmd>

用于执行本指令的功能。

注意事项

  • 不是每一条指令都具备表1中的4种类型的命令。

  • 如果存在当前软件版本不支持的AT指令,会返回ERROR。

  • 双引号表示字符串数据 "string",例如:AT+SCANSSID="XXX"。

  • 串口通信默认:波特率为115200、8个数据位、1个停止位、无校验,无流量控制。

  • <>为必选参数;[ ]内为可选值,参数可选。

  • 命令中的参数以“,”作为分隔符,除双引号括起来的字符串参数外,不支持参数本身带“,”。

  • AT指令中的参数不能有多余的空格。

  • AT指令必须大写,且必须以回车换行符作为结尾(CR LF),部分串口工具在用户敲击键盘回车键时只有回车符(CR)没有换行符(LF),导致AT指令无法识别,如需使用串口工具手动输入AT指令,需在串口工具中将回车键设置为回车符(CR)+换行符(LF)。以IPOP V4.1为例,说明如图1所示。

    图 1 IPOP V4.1 CR+LF设置示例

Wi-Fi模块AT指令

通用AT指令

通用AT指令一览表

指令

描述

AT+HELP

查看当前可用AT命令。

AT+MAC

MAC地址管理。

AT+IPERF

性能测试。

AT+SYSINFO

查看系统信息。

AT+PING

测试IPV4网络连接。

AT+PING6

测试IPV6网络连接。

AT+DNS

设置单板dns服务器地址。

AT+NETSTAT

查看网络状态。

AT+DHCP

dhcp客户端命令。

AT+DHCPS

dhcps服务器端命令。

AT+GETRATE

获取最近一次发给指定关联设备的报文空口速率。

AT+IFCFG

接口配置。

AT+PS

Wi-Fi低功耗设置。

AT+RST

复位单板。

AT+SYSCHANNEL

启动Syschannel并等卡。

AT+QUERYFILTER

查询Syschannel过滤规则。

AT+ADDFILTER

添加指定Syschannel过滤规则。

AT+DELFILTER

删除指定Syschannel过滤规则。

AT+SYSCHANIF

指定Syschannel使用的网络设备接口。

AT+SENDPKT

发送任意帧。

AT+HEAPSTAT

打印堆使用情况。

AT+TASKSTACK

打印每个任务栈使用情况。

AT+TASKMALLOC

打印每个任务内存申请情况。

通用AT指令描述

AT+HELP 查看当前可用AT命令

格式

AT+HELP

响应

+HELP:

显示当前支持的AT命令

OK

参数说明

-

示例

AT+HELP

注意

包含Wi-Fi、BLE、GLE命令。默认不使能。

AT+MAC MAC地址管理

格式

设置命令:

AT+MAC=<MAC>

查询命令:

AT+MAC?

响应

  • 成功:OK
  • 失败:ERROR

+MAC: <MAC>

  • 成功:OK
  • 失败:ERROR

参数说明

<MAC>:MAC地址

-

示例

AT+MAC=90:2B:D2:E4:CE:28

AT+MAC?

注意

设置命令在AT+STARTSTA/AT+STARTAP前下发有效。

AT+IPERF 性能测试

格式

AT+IPERF=<-x>

响应

+IPERF:

<Interval> <Bandwidth>

  • 成功:OK
  • 失败:ERROR

参数说明

  • <-x>:参数类型

    -s:以server模式启动

    -c,IP:以client模式启动,IP为server端地址

    -u:使用udp协议

    -i,sec:以秒为单位显示报告间隔

    -t,sec:测试时间,默认30s

    -b,Bandwidth:udp发送带宽,单位为bps,如设置为10K、20M,默认值为1Mbps

    -l,length:单次发送数据长度,单位为字节

    -B,IP:绑定一个主机IP地址,当主机有多个地址或接口时使用该参数

    -S,value:指定tos,value不同取值范围分别对应tid0~tid7,value取值与tid对应关系如下:

    0~31:tid0

    32~63:tid1

    64~95:tid2

    96~127:tid3

    128~159:tid4

    160~191:tid5

    192~223:tid6

    224~255:tid7

    -p,portNum:指定服务器端使用的端口或客户端所连接的端口

    -k:停止iperf服务

  • <Interval>:统计时间间隔,单位为s。
  • <Bandwidth>:测试吞吐量,显示统计间隔内的平均吞吐量。

示例

  • AT+IPERF=-s,-i,1:以server模式启动iperf,使用协议默认为tcp,显示报告以1s为间隔。
  • AT+IPERF=-s,-u,-i,1:以server模式启动iperf,使用协议udp,显示报告以1s为间隔。
  • AT+IPERF=-c,192.168.3.1,-t,5,-i,1:以client模式启动iperf,使用协议默认为tcp,测试5s,显示报告以1s为间隔。
  • AT+IPERF=-c,192.168.3.1,-u,-b,10M,-t,5,-i,1:以client模式启动iperf,使用协议udp,发送带宽为10Mbps,测试5s,显示报告以1s为间隔。
  • AT+IPERF=-c,192.168.3.1,-u,-b,10M,-t,5,-i,1,-l,1000,-B,192.168.3.2,-p,5001,-S,28:以client模式启动iperf,使用协议udp,发送带宽为10Mbps,测试5s,显示报告以1s为间隔,单次发送数据包最大为1000Byte,绑定本次iperf命令的主机IP地址为192.168.3.2,设定使用端口5001,指定tos为28。
  • AT+IPERF=-k:手动停止iperf性能测试。

注意

  • -c或者-s须放在第一个参数位置。
  • -s使用时,须使用-k结束才能进行下一次启动。
  • 仅支持一次执行,不支持多实例同时进行。

AT+SYSINFO 查看系统信息

格式

AT+SYSINFO

响应

+SYSINFO:

显示内存使用、系统资源、任务调度、系统运行时间等信息。

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SYSINFO

注意

-

AT+PING 测试IPV4网络连接

格式

AT+PING=[<-x>,]<IP>

响应

[<index>]Reply from <IP>: time=<time> TTL=<TTL>

<tx_count> packets transmitted, <rx_count> received, <loss_count> loss

  • 成功:OK
  • 失败:ERROR

参数说明

  • <-x>:参数类型。

    -n,count:发送count指定的数据包数,默认值为4

    -t:Ping指定的主机,直到AT+PING=-k停止

    -w,interval:相邻两次ping包的时间间隔,单位为毫秒

    -W,timeout:ping超时时间设置,单位为毫秒

    -l,size:单次发送数据长度,单位为字节,默认48字节

    -k:停止ping包,-k后不带参数

  • <IP>:目的主机IP地址。
  • <index>:ping包序号。
  • <time>:ping包耗时。
  • <TTL>:生存时间TTL。
  • <tx_count>:发包数。
  • <rx_count>:收包数。
  • <loss_count>:丢包数。

示例

  • AT+PING=192.168.3.1:执行ping 192.168.3.1,默认ping 4个包。
  • AT+PING=-n,6,192.168.3.1:执行ping 192.168.3.1,ping 6个包。
  • AT+PING=-w,1,192.168.3.1:执行ping 192.168.3.1,相邻两次ping包的时间间隔为1ms。
  • AT+PING=-l,100,192.168.3.1:执行ping 192.168.3.1,设置单次发送包长最大为100Byte。
  • AT+PING=-t,192.168.3.1:执行ping 192.168.3.1,直到输入ping的-k命令停止。
  • AT+PING=-k:停止ping包。

注意

-

AT+PING6 测试IPV6网络连接

格式

AT+PING6=[<-x>,]< IP>

响应

  • [<index>]Reply from <IP>: time=<time>
  • <tx_count> packets transmitted, <rx_count> received, <loss_count> loss
  • 成功:OK
  • 失败:ERROR

参数说明

  • <-x>:参数类型

    -c,count:执行count值对应次数,默认为4次

    -t:Ping指定的主机,直到AT+PING6=-k停止

    -k:停止ping包,-k后不带-I和IP参数

  • < IP >:目的主机IPV6地址
  • <index>:发包序列号
  • <time>:单次ping包耗时时长
  • <tx_count>:总发包数
  • <rx_count>:总收包数
  • <loss_count>:丢包数

示例

  • AT+PING6=2001:a:b:c:d:e:f:b
  • AT+PING6=-c,100,2001:a:b:c:d:e:f:b
  • AT+PING6=-k

注意

-

AT+DNS 设置单板dns服务器地址

格式

设置命令:

AT+DNS=<dns_num>,<IP>

查询命令:

AT+DNS?

响应

  • 成功:OK
  • 失败:ERROR

+DNS:

<Dns1_IP>

<Dns2_IP>

  • 成功:OK
  • 失败:ERROR

参数说明

  • <dns_num>:选择设置第一个还是第二个DNS服务器。

    1:第一个DNS服务器。

    2:第二个DNS服务器。

  • <IP>:服务器IP地址。
  • <Dns1_IP>:DNS1的IP地址。
  • <Dns2_IP>:DNS2的IP地址。

示例

  • AT+DNS?
  • AT+DNS=1,192.168.3.1
  • AT+DNS=2,192.168.3.2

注意

-

AT+NETSTAT 查看网络状态

格式

AT+NETSTAT

响应

Proto Recv-Q Send-Q Local Address Foreign Address State

  • 成功:OK
  • 失败:ERROR

参数说明

  • Proto:协议类型。

    tcp

    udp

  • Resv-Q:未被用户读取的数据量。
  • Send-Q:对TCP连接,已发送但未确认的数据量;对UDP连接,由于IP地址解析未完成而缓存的数据量。
  • Local Address:本地地址和端口。
  • Foreign Address:远程地址和端口。
  • State:TCP连接状态;UDP不包含此项。

TCP连接态描述如下:

  • CLOSED,即没有任何连接状态。
  • LISTEN,即侦听来自远方的TCP端口的连接请求。
  • SYN_SENT,即在发送连接请求后等待匹配的连接请求。
  • SYN_RCVD,即在收到和发送一个连接请求后等待对方对连接请求的确认。
  • ESTABLISHED,即代表一个打开的连接。
  • FIN_WAIT_1,即等待远程TCP连接中断请求,或先前的连接中断请求的确认。
  • FIN_WAIT_2,即从远程TCP等待连接中断请求。
  • CLOSE_WAIT,即等待从本地用户发来的连接中断请求。
  • CLOSING,即等待远程TCP对连接中断的确认。
  • LAST_ACK,即等待原来的发向远程TCP的连接中断请求的确认。
  • TIME_WAIT,即等待足够的时间以确保远程TCP接收到连接中断请求的确认。

示例

AT+NETSTAT

注意

-

AT+DHCP dhcp客户端命令

格式

AT+DHCP=<ifname>,<stat>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ifname>:网卡名称。
  • <stat>:DHCP开关。

    0:停止

    1:启动

示例

AT+DHCP=wlan0,1

注意

网卡名称与AT+IFCFG查看的STA网卡名称保持一致。

AT+DHCPS dhcps服务器端命令

格式

AT+DHCPS=<ifname>,<stat>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ifname>:网卡名称。
  • <stat>:DHCPS开关。

    0:停止

    1:启动

示例

AT+DHCPS=ap0,1

注意

网卡名称与AT+IFCFG查看的AP网卡名称保持一致。

AT+IFCFG 接口配置

格式

设置指令:

AT+IFCFG=<ifname>,<IP>,netmask,<netmask>, gateway,<gateway>

AT+IFCFG=<ifname>[,<switch>]

查询指令:

AT+ IFCFG

响应

  • 成功:OK
  • 失败:ERROR

+IFCFG:<ifname>,ip=<IP>,netmask =<netmask>,gateway =<gateway>, ip6=<IP6>, HWaddr =<HWaddr>,MTU=<MTU value>, RunStatus =<RunStatus>

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ifname>:网卡名称。
  • <IP>:IP 地址。
  • <netmask>:子网掩码。
  • <gateway>:网关地址。
  • <switch>:网卡开关。

    up:启用网卡;

    down:停用网卡。

  • <IP6>:IPV6 地址。
  • <HWaddr>:硬件地址。
  • <MTU value>:数据帧最大长度。
  • <RunStatus>:网卡是否正在运行。

    0:网卡没有运行;

    1:网卡正在运行。

示例

  • AT+IFCFG=ap0,192.168.3.1,netmask,255.255.255.0,gateway,192.168.3.1:配置网卡ap0的IP、子网掩码、网关。
  • AT+IFCFG=ap0,up:启动网卡ap0。
  • AT+IFCFG=ap0,down:停用网卡ap0。
  • AT+IFCFG:查询网卡各类配置信息。

注意

  • 启动STA/SOFTAP后,方可查询到有效<HWaddr>。
  • 配置IP地址时,需将<IP>紧跟<ifname>之后。
  • 启用/关闭网卡时,需将<switch>紧跟<ifname>之后。
  • 启用/关闭网卡和网卡的IP/netmask/gateway配置,不能在同一条命令中配置。

AT+PS Wi-Fi 低功耗设置

格式

AT+PS=<switch>[,<sleep_time>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <switch>:低功耗模式使能开关。

    0:关闭低功耗;

    1:使能FAST-PS低功耗模式;

    2:使能PS-POLL低功耗模式;

    3:关闭PS-POLL模式,使能FAST-PS低功耗模式;

    255:永久关闭低功耗设置(仅认证使用,重启后恢复)。

  • <sleep_time>:低功耗睡眠时间,取值范围0~4000,缺省为0

    0:跟随AP的dtim设置;

    100:设置dtim_count为1;

    1000:设置dtim_count为10。

    参数可选,在switch为1时,sleep_time才生效。

示例

AT+PS=0 关闭低功耗

AT+PS=1 开启低功耗

AT+PS=1,1000 开启低功耗并设置dtim_count=10

注意

低功耗命令,需要在起STA之后下发,否则有可能不生效。

AT+RST 复位单板

格式

执行命令:

AT+RST=[<type>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <type>:软/硬重启选择开关,缺省参数,缺省为0。

    0:硬重启:整芯片掉电后重启。

    1:软重启:除常电域的其他区域掉电后重启。支持重启过程中及重启后常电域GPIO口(AGPIO1-5)维持输出方向电平保持不变。上电流程和硬重启一致。

示例

AT+RST

注意

AT+RST缺省是AT+RST=0

AT+SYSCHANNEL 启动Syschannel并等卡

格式

AT+SYSCHANNEL

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SYSCHANNEL

注意

  • 启动WS53侧Syschannel并等卡。

AT+QUERYFILTER 查询Syschannel过滤规则

格式

AT+QUERYFILTER=<filter>,<length>,<type>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <filter>:是否查询filter。

    0:不查询;

    1:查询。

  • <length>:是否查询filter个数。

    0:不查询;

    1:查询。

  • <type>:查询filter类型。

    0:IPV4类型;

    1:IPV6类型。

示例

AT+QUERYFILTER=1,1,0

注意

  • type为必填参数,其他为选填。
  • Sychannel功能初始化完成后可以查询到默认的过滤规则。

AT+ADDFILTER 添加Syschannel过滤规则

格式

AT+ADDFILTER=<local_port>,<packet_type>,<match_mask>

<config_type>,<len>,<type>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <local_port>:本地端口号。
  • <packet_type>:数据包类型。

    17:UDP数据包;

    6:TCP数据包。

  • <match_mask>:匹配掩码。

    0x01:WIFI_FILTER_MASK_IP;

    0x02:WIFI_FILTER_MASK_PROTOCOL;

    0x04:WIFI_FILTER_MASK_LOCAL_PORT;

    0x08:WIFI_FILTER_MASK_LOCAL_PORT_RANGE;

    0x10:WIFI_FILTER_MASK_REMOTE_PORT;

    0x20: WIFI_FILTER_MASK_REMOTE_PORT_RANGE。

  • <packet_type>:数据包类型。

    17:UDP数据包;

    6:TCP数据包。

  • <config_type>:配置类型。

    0:WIFI_FILTER_LWIP;

    1:WIFI_FILTER_VLWIP;

    2:WIFI_FILTER_BOTH 。

  • <len>:数据包类型。

    20:IPV4;

    32:IPV6。

  • <type>:类型。

    0:IPV4类型;

    1:IPV6类型。

示例

AT+ADDFILTER=6001,17,31,2,,0

注意

  • len为选填参数,其他为必填参数。

AT+DELFILTER 删除Syschannel过滤规则

格式

AT+DELFILTER=<local_port>,<packet_type>,<match_mask>

<config_type>,<len>,<type>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <local_port>:本地端口号。
  • <packet_type>:数据包类型。

    17:UDP数据包;

    6:TCP数据包。

  • <match_mask>:匹配掩码。

    0x01:WIFI_FILTER_MASK_IP;

    0x02:WIFI_FILTER_MASK_PROTOCOL;

    0x04:WIFI_FILTER_MASK_LOCAL_PORT;

    0x08:WIFI_FILTER_MASK_LOCAL_PORT_RANGE;

    0x10:WIFI_FILTER_MASK_REMOTE_PORT;

    0x20: WIFI_FILTER_MASK_REMOTE_PORT_RANGE。

  • <packet_type>:数据包类型。

    17:UDP数据包;

    6:TCP数据包。

  • <config_type>:配置类型。

    0:WIFI_FILTER_LWIP;

    1:WIFI_FILTER_VLWIP;

    2:WIFI_FILTER_BOTH 。

  • <len>:数据包类型。

    20:IPV4;

    32:IPV6。

  • <type>:类型。

    0:IPV4类型;

    1:IPV6类型。

示例

AT+DELFILTER=6001,17,31,2,,0

注意

  • len为选填参数,其他为必填参数。

AT+SYSCHANIF 指定Syschannel使用的网络设备接口

格式

AT+SYSCHANIF=<netif_name>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <netif_name>:网络设备接口。
  • wlan0:STA设备的默认物理网络接口。
  • ap0:AP设备的默认物理网络接口。
  • sle0:星闪设备的默认物理网络接口。

示例

AT+SYSCHANIF=wlan0

注意

  • 网络接口切换后,主控侧需要配合修改为对应网络设备的mac地址和ip地址。
  • 网络接口切换后,需要对应的网络设备处于UP状态,Syschannel才能正常工作。

AT+GETRATE 查询最近一次发送给指定设备的报文速率

格式

AT+GETRATE=<mac_addr>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <mac_addr>:待查询设备MAC。

示例

AT+GETRATE=00:11:22:33:44:55

注意

  1. 设备作为STA模式时,MAC地址为关联AP的BSSID。
  2. 设备作为SOFTAP模式时,MAC为待查询关联STA的MAC。

AT+SENDPKT 发送任意帧

格式

AT+SENDPKT=<type>,<data>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<type>:vap类型,取值范围0,1,依次为STA、AP。

<data>:报文内容,字符长度最大为2800,即报文最大为1400字节。

示例

以下已关联状态的STA发送RST帧为例,其他类型报文请自行参考报文结构构造:

AT+SENDPKT=0,B4010000D45D64A4CCD05CED93A10503

  • 0~1位:B4,表示报文的SubType和Type。
  • 2~3位:01,表示报文的Frame Control Flag字段。
  • 4~7位:0000, 表示报文的Duration字段。
  • 8~19位:D45D64A4CCD0,根据RTS报文,表示RA地址。
  • 20~31位:5CED93A10503,根据RTS报文,表示TA地址。

注意

STA未关联场景,如果需要发送任意帧,请先指定信道。

AT+HEAPSTAT 打印堆使用情况

格式

AT+HEAPSTAT

响应

打印所有线程堆内存申请信息

OK

参数说明

-

示例

AT+HEAPSTAT

注意

-

AT+TASKSTACK 打印每个任务栈使用情况

格式

AT+TASKSTACK

响应

打印所有线程栈信息

OK

参数说明

-

示例

AT+TASKSTACK

注意

-

STA相关AT指令

STA相关AT指令一览表

指令

描述

AT+STARTSTA

启动STA。

AT+STOPSTA

关闭STA。

AT+RECONN

配置重连策略。

AT+SCAN

发起STA扫描。

AT+SCANCHN

指定信道扫描。

AT+SCANSSID

指定ssid扫描。

AT+SCANRESULT

查看STA扫描结果。

AT+CONN

发起与AP的连接。

AT+FCONN

发起与AP的快速连接。

AT+DISCONN

断开与AP的连接。

AT+STASTAT

查看STA状态。

AT+PBC

wps pbc连接。

AT+PIN

wps_pin连接。

AT+PINSHOW

显示生成的pin码。

STA相关AT指令描述

AT+STARTSTA 启动STA

格式

带参数执行指令:AT+STARTSTA=[<protocol_mode>],[<pmf>]

不带参数执行指令:

AT+STARTSTA

响应

  • 成功:OK
  • 失败:ERROR
  • 成功:OK
  • 失败:ERROR

参数说明

  • <protocol_mode>:协议类型,默认为4

    0:未配置;

    1:802.11b;

    2:802.11b+802.11g;

    3:802.11b+802.11g+802.11n;

    4:802.11b+802.11g+802.11n+802.11ax。

  • <pmf>:管理帧保护策略,默认为1。

    0:不保护;

    1:自适应;

    2:强制保护。

-

示例

AT+STARTSTA

AT+STARTSTA=1,1

AT+STARTSTA

注意

  • 不带参数指令执行时,上述参数使用系统默认值。
  • 不支持重复启动STA。

AT+STOPSTA 关闭STA

格式

AT+STOPSTA

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+STOPSTA

注意

执行AT+STOPSTA后,无需先执行"AT+DHCP=wlan0,0"关闭DHCP服务,会自动关闭DHCP服务。

AT+RECONN 配置重连策略

格式

AT+RECONN=<enable>[,<period>,<count>[,<timeout>]]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <enable>:重连使能。

    0:不执行重连;

    1:执行重连。

  • <period>:重连间隔周期,单位为s,取值范围:1~65535。
  • <count>:重连最大次数,取值范围:1~65535。
  • <timeout>:单次重连超时时间,取值范围:2~65535,默认2,当取值为65535时,表示无限次循环重连。

示例

AT+RECONN=1,10,3600,50

AT+RECONN=1,10,3600,

AT+RECONN=0

注意

  • 当重连使能位为0(关闭使能)时,不用再输入后面的参数,否则会响应ERROR。
  • 当重连使能位为1(开启使能)时,需要输入后面的参数,参数个数必须3个,或者4个。
  • 命令在AT+STARTSTA之后才能使用,执行AT+STOPSTA关闭STA以后,本命令配置的参数会恢复成默认值。

AT+SCAN 启动STA扫描

格式

AT+SCAN

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SCAN

注意

  • 此命令为非阻塞式命令。
  • 命令返回OK表示启动扫描成功,执行“AT+SCANRESULT”查看扫描结果。

AT+SCANCHN 指定信道扫描

格式

AT+SCANCHN=<chn>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<chn>:信道号,取值范围1~14,只支持单信道扫描。

示例

AT+SCANCHN=3

注意

  • 此命令为非阻塞式命令。
  • 命令返回OK表示启动扫描成功。
  • <chn>不同区域取值范围有差异,中国为1~13。

AT+SCANSSID 指定ssid扫描

格式

AT+SCANSSID=<ssid>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<ssid>:服务集标识符,即路由器名称,参数需使用双引号。

示例

AT+SCANSSID="XXX"

AT+SCANSSID=P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd":指定ssid为“中国”并启动扫描

注意

  • 此命令为非阻塞式命令。
  • 命令返回OK表示启动扫描成功。
  • <ssid>如果为非ASCll编码的字符(例如:名称为“中国”的ssid),按照如下格式输入“中国”的编码:P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd"。
  • <ssid>内容包含特殊符号“或者,需使用\转义,如ssid名称为"ab,c",命令参数应为"ab\,c"。

AT+SCANRESULT 查看STA扫描结果

格式

AT+SCANRESULT

响应

+SCANRESULT:<ssid>,<bssid>,<chn>,<rssi>,<auth_type>

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ssid>:服务集标识符,即路由器名称
  • <bssid>:基本服务集标识符,通常为路由器MAC地址
  • <chn>:信道号,取值范围1~14
  • <rssi>:信号强度
  • <auth_type>:认证方式。

    -1:无效安全类型

    0:OPEN

    1:WEP

    2:WPA2_PSK

    3:WPA_WPA2_PSK

    4:WPA_PSK

    5:WPA

    6:WPA2

    7:SAE

    8:WPA3_WPA2_PSK_MIX

    9:WPA3-Enterprise

    10:OWE

    11:WAPI-PSK

    12:WAPI-CERT

    13:WPA3/WPA2-Enterprise MIX

    14:未知类型

示例

AT+SCANRESULT

注意

  • <chn>:不同区域取值范围有差异,中国为1~13。
  • 执行扫描命令成功后才能查询到扫描结果。
  • <ssid>如果为非ASCll编码的字符,则按照原编码显示。例如:名称为“中国”的ssid,显示格式为:P"\xe4\xb8\xad\xe5\x9b\xbd"。

AT+CONN 发起与AP的连接

格式

AT+CONN=<ssid>[,<bssid>,<passwd>][,<psk_type>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ssid>:服务集标识符,即路由器名称,参数需使用双引号。
  • <bssid>:基本服务集标识符,通常为路由器MAC地址。
  • <passwd>:密码,需使用双引号。
  • <psk_type>:密码类型,0表示ASCII格式,1表示HEX格式,默认值为0。

示例

  • AT+CONN="XXX":连接名称为XXX,且加密方式为open的路由器。
  • AT+CONN="XXX",,"123456789":连接名称为XXX,且加密方式非open的路由器。
  • AT+CONN=,90:2B:D2:E4:CE:28,"123456789" :连接bssid为90:2B:D2:E4:CE:28的路由器。
  • AT+CONN= P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd",,"123456789":连接名称为“中国”的路由器。
  • AT+CONN="XXX",,"3132333435",1 :路由器设置认证方式为WEP,且密码为HEX格式,需要将psk_type置为1。

注意

  • <ssid>与<bssid>不能同时为空。
  • <ssid>与<bssid>都不为空时,如果<ssid>与<bssid>不匹配,则连接失败。
  • <ssid>如果为非ASCll编码的字符(例如:名称为“中国”的ssid),按照如下格式输入“中国”的编码:P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd"。
  • <ssid>和<passwd>内容如果包含特殊符号“或者,需使用\转义,如ssid名称为"ab,c",命令参数应为"ab\,c"。
  • 如果密码为HEX类型,需要将psk_type置为1。
  • 此命令为非阻塞式命令。
  • 命令返回OK表示连接命令下发成功,连接结果通过+NOTICE上报,+NOTICE信息如下:

    +NOTICE:CONNECTED,表示连接成功;

    +NOTICE:DISCONNECTED,表示连接失败。

AT+FCONN 发起与AP的快速连接

格式

AT+FCONN=<ssid>,<bssid>,<chn>,<auth_type>[,<passwd>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ssid>:服务集标识符,即路由器名称,参数需使用双引号。
  • <bssid>:基本服务集标识符,通常为路由器MAC地址。
  • <chn>:信道号,取值范围1~14。
  • <auth_type>:认证方式。

    0:OPEN

    1:WEP

    2:WPA2_PSK

    3:WPA_WPA2_PSK

    7:WPA3-SAE

    8:WPA2_PSK_WPA3-SAE

    11:WAPI-PSK

  • <passwd>:密码,需使用双引号,如果对端网络认证方式为WEP,并且密码为ASCII格式,此处密码输入需要双层双引号。

示例

  • AT+FCONN="XXX",,6,3,"123456789":连接名称为XXX的路由器,指定6信道。
  • AT+FCONN= P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd",,6,3,"123456789":连接名称为“中国”的路由器,指定6信道。
  • AT+FCONN=,90:2B:D2:E4:CE:28,6,3,"123456789":连接bssid为90:2B:D2:E4:CE:28的路由器,指定6信道。
  • AT+FCONN="XXX",,6,1,""1234567890123"" :连接名称为XXX的路由器,对端路由器设置的认证方式为WEP,密码为ASCII格式,此处使用双层双引号。

注意

  • <ssid>与<bssid>不能同时为空。
  • <ssid>与<bssid>都不为空时,如果<ssid>与<bssid>不匹配则连接失败。
  • <ssid>如果为非ASCll编码的字符(例如:名称为“中国”的ssid),按照如下格式输入“中国”的编码:P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd"。
  • <ssid>和<passwd>内容如果包含特殊符号“或者,需使用\转义,如ssid名称为"ab,c",命令参数应为"ab\,c"。
  • <auth_type>设置为OPEN时,无需<passwd>参数及参数前的逗号。
  • <chn>不同区域取值范围有差异,中国为1~13。
  • 此命令为阻塞式命令,先返回连接结果再返回OK或ERROR。
  • 连接结果通过+NOTICE上报,+NOTICE信息如下:

    +NOTICE:CONNECTED,表示连接成功;

    +NOTICE:DISCONNECTED,表示连接失败。

AT+DISCONN 断开与AP的连接

格式

AT+DISCONN

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+DISCONN

注意

  • 此命令为非阻塞式命令。
  • 命令返回OK表示断开连接命令下发成功。

AT+STASTAT 查看STA连接状态

格式

AT+STASTAT

响应

+STASTAT: <status>,<ssid>, <bssid >,<chn>,<rssi>

  • 成功:OK
  • 失败:ERROR

参数说明

  • <status>:当前连接状态。

    0:未连接;

    1:已连接。

  • <ssid>:服务集标识符,即路由器名称。
  • <bssid >:基本服务集标识符,通常为路由器MAC地址。
  • <chn>:信道号,取值范围1~14。
  • <rssi>:路由器信号强度,取值范围-100 ~ 0。

示例

AT+STASTAT

注意

  • <chn>不同区域取值范围有差异,中国为1~13。
  • <ssid>如果为非ASCll编码的字符,则按照原编码显示。例如:名称为“中国”的ssid,显示格式为:P"\xe4\xb8\xad\xe5\x9b\xbd"。

AT+PBC PBC连接

格式

AT+PBC

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+PBC

注意

  • 默认未使能。
  • 此命令为非阻塞式命令。
  • 命令返回OK表示PBC连接命令下发成功,连接结果通过+NOTICE上报,+NOTICE信息如下:

    +NOTICE:CONNECTED,表示连接成功。

AT+PIN PIN连接

格式

AT+PIN=<pin>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<pin>:PIN码

示例

AT+PIN=03882368

注意

  • 默认未使能。
  • 此命令为非阻塞式命令。
  • 命令返回OK表示PIN连接命令下发成功,连接结果通过+NOTICE上报,+NOTICE信息如下:

    +NOTICE:CONNECTED,表示连接成功。

AT+PINSHOW 生成PIN码

查询指令

AT+PINSHOW

响应

+PINSHOW:<pin>

  • 成功:OK
  • 失败:ERROR

参数说明

<pin>:PIN码

示例

AT+PINSHOW

注意

默认未使能。

SoftAP相关AT指令

SoftAP相关AT指令一览表

指令

描述

AT+STARTAP

普通模式启动SoftAP。

AT+SETAPADV

配置SoftAP启动参数。

AT+STOPAP

停止SoftAP。

AT+SHOWSTA

AP显示当前连接的STA信息。

AT+DEAUTHSTA

AP断开STA连接。

SoftAP相关AT指令描述

AT+STARTAP 普通模式启动SoftAP

格式

AT+STARTAP=<ssid>,<chn>,<auth_type>[,<passwd>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ssid>:服务集标识符,即路由器名称,参数需使用双引号,最长为32个字符,超过不生效。
  • <chn>:信道号,取值范围1~14或者取值0表示不指定信道,使用自动信道选择(ACS)算法,此时会触发一次自动信道扫描。
  • <auth_type>:认证方式。

    0:OPEN

    1:WEP-SHARED

    2:WPA2_PSK

    3:WPA_WPA2_PSK

    7:WPA3-SAE

    8:WPA2_PSK_WPA3-SAE

    14:WEP-OPEN

  • <passwd>:密码,参数需使用双引号,认证方式为2/3/7/8要求密码长度为8位或以上,1/14密码为固定长度5/10/13/26。

示例

AT+STARTAP="XXX",6,2,"123456789"

AT+STARTAP="XXX",6,0

注意

  • <chn>不同区域取值范围有差异,中国为1~13。
  • <auth_type>设置为OPEN时,无<passwd>参数及参数前的逗号。
  • <auth_type>设置为WEP-SHARED或WEP-OPEN时,<passwd>参数长度只能为5/10/13/26。
  • <ssid>和<passwd>内容如果包含特殊符号“或者,需使用\转义,如ssid名称为"ab,c",命令参数应为"ab\\,c"。
  • 如需进行高级参数配置,请先执行AT+SETAPADV,再启动AP;

AT+SETAPADV 配置SoftAP启动参数

格式

AT+SETAPADV=[<protocol_mode>],[<bcn_period>],[<dtim_period>],[<group_rekey>],[<ssid_hide>],[<sgi>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <protocol_mode>:协议类型,默认为4

    1:802.11b

    2:802.11b + 802.11g

    3:802.11b + 802.11g + 802.11n

    4:802.11b + 802.11g + 802.11n + 802.11ax

  • <bcn_period>:beacon周期,参数取值范围25~1000,单位为ms,默认为100。
  • <dtim_period>:DTIM周期,参数取值范围1~30,默认为2。
  • <group_rekey>:配置组播秘钥更新时间,参数取值范围30~86400,单位为秒,默认86400。
  • <ssid_hide>:softap是否隐藏ssid,默认值为1。

    1:不隐藏;

    2:隐藏。

  • <sgi>:short GI开关,默认为1。

    0:关闭short GI;

    1:开启short GI。

示例

AT+SETAPADV=3,100,2,3600,1,1

AT+SETAPADV=,100,2,3600,

注意

  • 此命令需在AT+STARTAP前下发。
  • 如果不需要改变上述参数默认值,无需下发此命令。
  • AT+STOPAP不会改变上述参数设置值。
  • 参数可以省略,省略的参数使用系统默认值。
  •  

AT+STOPAP 停止SoftAP

格式

AT+STOPAP

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+STOPAP

注意

执行AT+STOPAP后,无需先执行"AT+DHCPS=AP0,0"关闭DHCP服务。

AT+SHOWSTA 显示当前连接的STA信息

格式

AT+SHOWSTA

响应

+SHOWSTA:<STA_MAC>, rssi: <RSSI>,rate<RATE>

  • 成功:OK
  • 失败:ERROR

参数说明

  • <STA_MAC>:当前已连接的STA MAC地址。
  • <RSSI>:信号接收强度。
  • <RATE>:当前速率

示例

AT+SHOWSTA

注意

-

AT+DEAUTHSTA 断开STA连接

格式

AT+DEAUTHSTA=<MAC>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<MAC>:要断开的STA MAC地址。

示例

AT+DEAUTHSTA=90:2B:D2:E4:CE:28

注意

-

TCP/IP相关AT指令

TCP/IP相关AT指令一览表

指令

描述

AT+IPSTART

创建socket,TCP协议发起连接。

AT+IPSEND

发送TCP/UDP数据。

AT+IPLISTEN

启动TCP监听。

AT+IPCLOSE

删除socket ,TCP协议断开连接。

+IPD

接收TCP/UDP数据的主动上报。

TCP/IP相关AT指令描述

AT+IPSTART 创建socket,TCP协议发起连接

格式

TCP:

AT+IPSTART=<link_ID>,<IP_protocol>,<remote_IP>,<remote_port>

UDP:

AT+IPSTART=<link _ID>,<IP_protocol>,<local_port>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <link_ID>:网络连接号,与本机socket绑定,取值范围需要根据业务场景确定,配置网络协议栈socket资源,AT场景仅做功能验证,支持6个TCP连接和4个UDP传输,但总数不超过8个,取值范围0~7。
  • <IP_protocol>:IP协议类型。
  • TCP:TCP连接。
  • UDP:UDP监听。
  • <remote_IP>:远端 IP地址。
  • <remote_port>:远端端口号。
  • <local_port>:本地端⼝号。

示例

AT+IPSTART=0,tcp,192.168.3.1,5001

AT+IPSTART=0,udp,5001

注意

-

AT+IPSEND 发送TCP/UDP数据

格式

  • 发送TCP数据:

    AT+IPSEND=<link_ID>,<len>,<string>

  • 发送UDP数据:

    AT+IPSEND=<link_ID>,<len>,<remote IP>,<remote port>,<string>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <link ID>:网络连接号,与本机socket绑定,取值范围:0~7。
  • <len>:发送数据的长度,最大长度为1024。
  • <remote_IP>:远端IP地址。
  • <remote_port>:远端端口号。
  • <string>:要发送的数据。

示例

AT+IPSEND=0,9,data test

OK

AT+IPSEND=0,9,192.168.3.1,5001,data test

OK

注意

  • \0作为发送结束符,如果要发送\0,需转义成\\0。
  • TCP和UDP发送数据场景,需要组网内开启Server端接收数据。

AT+IPLISTEN 启动TCP监听

格式

AT+IPLISTEN=<control>[,<local_port>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <control>:

    0:关闭TCP监听

    1:启动TCP监听

  • <local_port>:本地端口号。

示例

AT+IPLISTEN=1,5001

AT+IPLISTEN=0

注意

<control>取值为0时不需要<local_port>参数。

AT+IPCLOSE 关闭连接

格式

AT+IPCLOSE=<link_ID>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<link_ID>:网络连接号,与本机socket绑定,取值范围:0~7。

示例

AT+IPCLOSE=0

注意

-

+IPD 接收网络数据

格式

+IPD,<link_ID>,<len>,<remote_IP>,<remote_port>:<data>

响应

当系统处于TCP连接态或UDP监听态时,如果收到远端TCP/UDP数据,会主动上报:+IPD,<link_ID>,<len>,<remote_IP>,<remote_port>:<data>

参数说明

  • <link_ID>:网络连接号,与本机socket绑定,取值范围:0~7。
  • <len>:本次接收数据的长度。
  • <remote_IP>:远端 IP 地址。
  • <remote_port>:远端端口号。
  • <data>:收到的数据。

示例

+IPD,0,4,192.168.3.1,5001:abcd

注意

单次接收数据长度最大为1024,长度超过1024的数据分多次上报。

测试调试相关AT指令

测试调试相关AT指令一览表

指令

描述

AT+ALTX

设置常发功能。

AT+ALRX

设置常收功能。

AT+RXINFO

查询常收。

AT+SETRPWR

设置功率。

AT+CALIONLINE

触发动态校准。

测试调试相关AT指令描述

AT+ALTX 设置常发功能

格式

AT+ALTX=<control>[,<protocol_mode>,<bw>,<chn>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <control>:使能开关

    0:关闭

    1:打开

  • <protocol_mode>:协议类型

    0:802.11n

    1:802.11g

    2:802.11b

    3:802.11ax

    5:11n 40plus

    6:11n 40minus

  • <bw>:带宽

    20:20MHz带宽

    40:40MHz带宽

  • <chn>:信道号,取值范围1~14

示例

  • 开启常发功能

    AT+STARTSTA

    AT+ALTX=1,0,20,2

    其中:1表示使能开关开启,0表示11n协议,20表示20M带宽,2表示2信道。

  • 开启11n 40M常发时

    AT+ALTX=1,5,40,1 其中:5表示40plus

    AT+ALTX=1,6,40,11 其中:6表示40minus

注意

  • <chn>不同区域取值范围有差异,中国为1~13。
  • <control>设置为0时,其他参数不配置。

AT+ALRX 设置常收功能

格式

AT+ALRX=<control>[,<protocol_mode>,<bw>,<chn>,<mac_filter>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <control>:使能开关。

    0:关闭

    1:打开

  • <protocol_mode>:协议类型。

    0:802.11n

    1:802.11g

    2:802.11b

    3:802.11ax

    5:11n 40plus

    6:11n 40minus

    <bw>:带宽

    20:20M带宽

    40:40M带宽

  • <chn>:信道号,取值范围1~14。
  • <mac_filter>:MAC地址过滤使能开关(暂不支持)。

    0:关闭

    1:打开

示例

AT+ALRX=1,0,20,1,1

开启常收11n 40M时:

  • AT+ALRX=1,5,40,1,0 40plus
  • AT+ALRX=1,6,40,11,0 40minus

注意

  • <chn>不同区域取值范围有差异,中国为1~13。
  • <control>设置为0时,其他参数不配置。

AT+RXINFO 查询常收

格式

AT+RXINFO

响应

+RXINFO: rx succ num[mpdu,ampdu]:<pkt><pkt> fail num:<pkt> rssi:<d>

mac mpdu[<pkt>,<pkt>] ampdu[<pkt>,<pkt>]

phy dotb[<pkt>,<pkt>] ht[<pkt>,<pkt>] vht[<pkt>,<pkt>] lega[<pkt>,<pkt>]

  • 成功:OK
  • 失败:ERROR

参数说明

  • <pkt>:接收报文数量。
  • rssi:<d>:最后一个收包rssi强度。

示例

AT+RXINFO

注意

仪器发包完成后再执行,执行后会清除当前统计值。

AT+SETRPWR 设置功率

格式

AT+SETRPWR=<protocol_mode>,<rate>,<power_offset>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <protocol_mode>:协议模式

    0:802.11b

    1:802.11g

    2:802.11n 20M/802.11ax 20M

    3:802.11n 40M

  • <rate>:速率

    802.11b:0~3表示1、2、5.5、11Mbps;4表示全速率修改;

    802.11g:0~7表示6、9、12、18、24、36、48、54Mbps;8表示全速率修改;

    11n/11ax 20M:0~9表示mcs0~mcs9;10表示全速率修改;

    11n 40M:0~9表示mcs0~mcs9;10表示mcs32;11表示全速率修改。

  • <power_offset>:功率偏移值。

    范围:-100~+40,单位0.1dB,表示相对当前功率的偏移值。

示例

AT+SETRPWR=0,0,-10

注意

此命令需在AT+STARTAP/AT+STARTSTA执行后下发。

11n 20M和11n 40M最大支持到mcs7。

AT+CALIONLINE 触发动态校准

格式

AT+CALIONLINE=<online_type>

响应

  • 成功:online cali complete:type[type_bit]
  • 失败:ERROR或无日志

参数说明

  • <online_type>:校准项参数。

    0:退出动态校准状态;

    2:动态TX IQ校准;

    4:动态RX IQ校准。

示例

AT+CALIONLINE=2

注意

此命令需在启动SoftAP模式或已关联的STA模式下执行。

此命令执行时需确保非常发和常收状态。

触发校准后需执行 AT+CALIONLINE=0 退出校准状态。

使用场景示例

启动/停止SoftAP

启动SoftAP示例

AT+MAC=90:2B:D2:E4:CE:28

AT+STARTAP="XXX",6,2,"12345678"

AT+IFCFG=ap0,192.168.3.1,netmask,255.255.255.0,gateway,192.168.3.1

AT+DHCPS=ap0,1

注意:设置MAC地址命令可选,如果不设置则使用随机MAC;设置的MAC地址为STA的地址,SoftAP的地址为STA的地址+1。

停止SoftAP示例

AT+STOPAP

启动/停止STA

启动STA示例

AT+MAC=90:2B:D2:E4:CE:28

AT+STARTSTA

AT+SCAN

AT+SCANRESULT

AT+CONN="XXX",,"123456789"

AT+STASTAT

AT+DHCP=wlan0,1

注意:设置MAC地址命令可选,如果不设置则使用随机MAC;设置的MAC地址为STA的地址,SoftAP的地址为STA的地址+1。

停止STA示例

AT+STOPSTA

注意:-

吞吐量测试

吞吐量测试示例

AT+STARTSTA

AT+SCAN

AT+SCANRESULT

AT+CONN="XXX",,0

AT+DHCP=wlan0,1

AT+IFCFG

AT+PING=192.168.3.1

AT+PING=-k

#UDP测试,192.168.3.1为对端iperf server IP地址

AT+IPERF=-c,192.168.3.1,-u,-b,100M,-t,30,-i,1

AT+IPERF=-s,-i,1,-u

#TCP测试

AT+IPERF=-c,192.168.3.1,-i,1,-t,30

AT+IPERF=-s,-i,1

AT+IPERF=-k

注意:AT+IPERF测试启动前,要保证对端IP可ping通。

RF 测试

RF常发测试

RF常发

AT+RST

AT+STARTSTA

AT+ALTX=1,0,20,1

RF常收测试

RF常收

AT+RST

AT+MAC=90:2B:D2:E4:CE:28

AT+STARTSTA

AT+ALRX=1,0,20,1,1

AT+RXINFO

注意:AT+RXINFO为查看常收结果命令。

BLE&SLE模块AT指令

BLE

BLE AT指令一览表

gap模块AT命令

指令

描述

AT+BLEENABLE

使能BLE协议栈。

AT+BLEDISABLE

关闭BLE协议栈。

AT+BLESETADDR=<参数>

设置本地设备地址。

AT+BLEGETADDR

获取本地设备地址。

AT+BLESETNAME=<参数>

设置本地设备名称。

AT+BLEGETNAME

获取本地设备名称。

AT+BLESETAPPEARANCE=<参数>

设置本地设备外观。

AT+BLESETADVDATA=<参数>

设置BLE广播数据。

AT+BLESETADVPAR=<参数>

设置BLE广播参数。

AT+BLESTARTADV=<参数>

开始发送BLE广播。

AT+BLESTOPADV=<参数>

停止发送BLE广播。

AT+BLEGETPAIREDNUM

获取BLE设备配对设备数量。

AT+BLEGETPAIREDDEV

获取BLE设备配对设备。

AT+BLEGETPAIREDSTA=<参数>

获取BLE设备配对状态。

AT+BLECONNPARUPD=<参数>

连接参数更新。

AT+BLEGAPREGCBK

注册gap回调函数。

gatts模块AT命令

指令

描述

AT+GATTSREGSRV=<参数>

创建一个GATT server。

AT+GATTSUNREG=<参数>

删除GATT server,释放资源。

AT+GATTSSYNCADDSERV=<参数>

添加一个GATT服务(同步)。

AT+GATTSSYNCADDCHAR=<参数>

为GATT服务添加一个特征(同步)。

AT+GATTSSYNCADDDESCR=<参数>

为最新的特征添加一个描述符(同步)。

AT+GATTSSTARTSERV=<参数>

启动指定的GATT服务。

AT+GATTSDELALLSERV=<参数>

删除指定server上的所有服务。

AT+GATTSSENDRSP=<参数>

发送响应。

AT+GATTSSNDNTFY=<参数>

发送通知或指示。

AT+GATTSSNDNTFYBYUUID=<参数>

根据uuid发送通知或指示。

AT+GATTSREGCBK

注册GATT服务端回调函数。

AT+GATTSSETMTU=<参数>

在连接之前设置server rx mtu。

BLE AT指令描述

gap模块AT命令

AT+BLEENABLE 使能ble协议栈

格式

AT+BLEENABLE

响应

打开BLE开关

成功:OK

参数说明

-

示例

AT+BLEENABLE

注意

-

AT+BLEDISABLE 关闭ble协议栈

格式

AT+BLEDISABLE

响应

关闭BLE开关

成功:OK

参数说明

-

示例

AT+BLEDISABLE

注意

-

AT+BLESETADDR 设置本地设备地址

格式

AT+BLESETADDR=<addr_type,addr>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <addr_type>:蓝牙设备类型
  • <addr>:蓝牙设备地址

示例

AT+BLESETADDR=0,0x112233445566

注意

设备类型取值范围为{0(公共设备地址),1(随机设备地址),2(公共本端地址),3(随机静态本端地址)},设备地址为长度为14的字符串

AT+BLEGETADDR 获取本地设备地址

格式

AT+BLEGETADDR

响应

  • 成功:本地设备地址
  • 失败:ERROR

参数说明

-

示例

AT+BLEGETADDR

注意

-

AT+BLESETNAME 设置本地设备名称

格式

AT+BLESETNAME=<len,name>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<len>:本地设备名称长度;

<name>:本地设备名称

示例

AT+BLESETNAME=9,atcmdtest

注意

名称长度取值范围为1~31,设备名称长度为len的字符串。

AT+BLEGETNAME 获取本地设备名称

格式

AT+BLEGETNAME

响应

  • 成功:本地设备名称
  • 失败:ERROR

参数说明

-

示例

AT+BLEGETNAME

注意

-

AT+BLESETAPPEARANCE 设置本地设备外观

格式

AT+BLESETAPPEARANCE=<appearance>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<appearance>:本地设备外观;

示例

AT+BLESETAPPEARANCE=961

注意

参数值应为规定值,示例中961为键盘的外观值,具体请参考表1

AT+BLESETADVDATA 设置BLE广播数据

格式

AT+BLESETADVDATA=<adv_length,adv_data,scan_rsp_length,scan_rsp_data,adv_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <adv_length>:广播数据长度(最大190字节,≤31是传统广播,>31是拓展广播)
  • <adv_data>:广播数据(广播数据的设定需符合蓝牙协议规定, 自行定义的数据可能导致对端设备无法识别)
  • <scan_rsp_length>:扫描返回数据长度(长度限制与广播数据一致)
  • <scan_rsp_data>:扫描返回数据(当对端设备扫描到本端广播后会发送req, 此时如果配置了rsp_data, 则本端可主动给对端回复rsp, 若设置为0则不回复)
  • <adv_id>:广播id[1, 0xEF]

示例

AT+BLESETADVDATA=6,0x112233445566,0,0,1

注意

广播数据长度单位为字节,所以广播数据应为长度两倍的字符串,扫描返回数据同理,广播ID取值范围为[1,0xEF]

AT+BLESETADVPAR 设置广播数据参数

格式

AT+BLESETADVPAR=<min_interval,max_interval,adv_type,own_addr,peer_addr_type,peer_addr,channel_map,adv_filter_policy,tx_power,duration,adv_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <min_interval>:最小扫描间隔;取值范围[0x20, 0x4000],Time=N×0.625ms
  • <max_interval>:最大扫描间隔;取值范围[0x20, 0x4000],Time=N×0.625ms
  • <adv_type>:广播类型

    0:可连接可扫描非定向广播;

    1:可连接不可扫描高频定向广播;

    2:不可连接可扫描非定向广播;

    3:不可连接不可扫描非定向广播;

    4:可连接不可扫描低频定向广播;

  • <own_addr>:本端地址;
  • <peer_addr_type>:对端地址类型;
  • <peer_addr>:对端地址;
  • <channel_map>:信道;取值范围为[0x01, 0x07];
  • <adv_filter_policy>:过滤策略;
  • <tx_power>:扫描功率(传值范围[-127, 20] 或 0x7F, 传0x7F时表示使用BTC的默认值);
  • <duration>:扫描周期;仅取值为0;
  • <adv_id>:广播ID;取值范围[1, 0xEF];

示例

AT+BLESETADVPAR=48,48,0,0x112233445577,0,0x112233445566,7,0,1,0,1

注意

1. 广播参数里的本端地址主要用于起广播,set_addr主要用于设置mac地址和发起广播。当广播参数里的本端地址全0时,set_addr既用于设置mac地址,也用于起广播;当广播参数里的本端地址非全0时,set_addr就用来设置mac地址,广播参数里的非全0地址用来起广播。

2. 用广播参数设置地址后, 广播类型默认是1, 连接时需用指定广播类型为1去连接。

AT+BLESTARTADV 开始发送BLE广播

格式

AT+BLESTARTADV=<adv_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<adv_id>:广播id,对应set_adv_para里的adv_id, [1-0xEF]

示例

AT+BLESTARTADV=1

注意

-

AT+BLESTOPADV 停止发送BLE广播

格式

AT+BLESTOPADV=<adv_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<adv_id>:广播id

示例

AT+BLESTOPADV=1

注意

-

AT+BLEGETPAIREDNUM 获取BLE设备配对设备数量

格式

AT+BLEGETPAIREDNUM

响应

  • 成功:配对设备数量
  • 失败:ERROR

参数说明

-

示例

AT+BLEGETPAIREDNUM

注意

-

AT+BLEGETPAIREDDEV 获取BLE设备配对设备

格式

AT+BLEGETPAIREDDEV

响应

  • 成功:配对设备地址
  • 失败:ERROR

参数说明

-

示例

AT+BLEGETPAIREDDEV

注意

-

AT+BLEGETPAIREDSTA 获取BLE设备配对状态

格式

AT+BLEGETPAIREDSTA=<addr_type,addr>

响应

  • 成功:BLE设备配对状态
  • 失败:ERROR

参数说明

<addr_type>:蓝牙设备类型

<addr>:蓝牙设备地址

示例

AT+BLEGETPAIREDSTA=0,0x112233445566

注意

设备类型取值范围:

  • 0:公共设备地址
  • 1:随机设备地址
  • 2:公共本端地址
  • 3:随机静态本端地址

设备地址为长度为14的字符串。

AT+BLECONNPARUPD 更新连接参数

格式

AT+BLECONNPARUPD=<conn_handle,interval_min,interval_max,slave_latency,timeout_multiplier>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <conn_handle>:连接句柄
  • <interval_min>:链路调度最小间隔,[0x06, 0x0C80],Time=N×1.25ms
  • <interval_max>:链路调度最大间隔,[0x06, 0x0C80],Time=N×1.25ms
  • <slave_latency>:延迟周期,单位slot(该值表示在设置值的周期内可以不回复, 为0时则表示每包都需回复)
  • <timeout_multiplier>:超时断连间隔

示例

AT+BLECONNPARUPD=0,0x48,0x48,0,500

注意

interval_min需要小于等于interval_max

AT+BLEGAPREGCBK 注册BLE回调函数

格式

AT+BLEGAPREGCBK

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+BLEGAPREGCBK

注意

-

AT+BLEREADPEERRSSI 读取RSSI值

格式

AT+BLEREADPEERRSSI=<conn_handle>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <conn_handle>:连接句柄

示例

AT+BLEREADPEERRSSI=0

注意

-

AT+BLESETPHY 设置 BLE PHY

格式

AT+BLESETPHY=<conn_handle>,<all_phys>,<tx_phys>,<rx_phys>,<phy_options>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <conn_handle>:连接句柄
  • <all_phys>: host配置phy信息,按bit配置,bit0是tx phy mask,bit1是rx phy mask,配0生效,配1不生效

    0:tx rx phy生效

    1:tx phy不生效,rx phy生效

    2:tx phy生效,rx phy不生效

    3:tx rx phy都不生效

  • <tx_phy>:tx phys配置,按bit配置

    0:1M PHY

    1:2M PHY

    2:Code PHY

  • <rx_phy>:rx phy值,按bit 配置

    0:1M PHY

    1:2M PHY

    2:Code PHY

  • <phy_options>: phy编码选项,coded phy生效

    0: 主机没有首选编码

    1: 使用S=2编码PHY(1M/2=512k)

    2: 使用S=8编码PHY(1M/8=128k)

示例

AT+BLESETPHY=0,2,1,1,0

注意

上述各参数中没有列出的示例值为预留字段, AT侧不做拦截, 下发后BTC会回复异常参数, 请关注回调中的异常日志打印。

gatts模块AT命令

AT+GATTSREGSRV 创建一个GATT server

格式

AT+GATTSREGSRV=<uuid>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<uuid>:应用uuid

示例

AT+GATTSREGSRV=0x1122

注意

-

AT+GATTSUNREG 删除GATT server,释放资源

格式

AT+GATTSUNREG=<server_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<server_id>:注册server时生成的server id,默认为1

示例

AT+GATTSUNREG=1

注意

-

AT+GATTSSYNCADDSERV 添加一个GATT服务(同步)

格式

AT+GATTSSYNCADDSERV=<server_id,svc_uuid,is_primary_flag>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <server_id>:服务端id
  • <svc_uuid>:服务uuid
  • <is_primary_flag>:是否是首要服务

示例

AT+GATTSSYNCADDSERV=1,0x1812,1

注意

-

AT+GATTSSYNCADDCHAR 为GATT服务添加一个特征(同步)

格式

AT+GATTSSYNCADDCHAR=<server_id,service_handle,chara_uuid,permissions,properties,value_len,value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <server_id>:服务端id
  • <service_handle>:服务句柄
  • <chara_uuid>:特征uuid
  • <permissions>:权限

    0x01:可读

    0x02:可写

    0x04:需要加密

    0x08:需要认证

    0x10:需要授权

    0x20:需要MITM保护

    注:多个权限类型使用'|'后的值, 如可读可写需要授权为, 0x01|0x02|0x08 值为0x0B

  • <propertise>:特性

    0x01:广播特征值

    0x02:读特征值

    0x04:写特征值并且不需要响应

    0x08:写特征值

    0x10:通知特征值

    0x20:指示特征值

    0x40:签名写特征值

    注:多个特征类型使用'|'后的值, 如读写特征为, 0x02|0x08 值为0x0A

  • <value_len>:值长度
  • <value>:值

示例

AT+GATTSSYNCADDCHAR=1,14,0x1234,0x01,0x02,4,01010003

注意

值是长度为值长度两倍的字符串

AT+GATTSSYNCADDDESCR 为最新的特征添加一个描述符(同步)

格式

AT+GATTSSYNCADDDESCR=<server_id,service_handle,chara_uuid,permissions,value_len,value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <server_id>:服务端id
  • <service_handle>:服务句柄
  • <chara_uuid>:特征uuid
  • <permissions>:权限

    0x01:可读

    0x02:可写

    0x04:需要加密

    0x08:需要认证

    0x10:需要授权

    0x20:需要MITM保护

    注:多个特征类型使用|后的值, 如可读可写需要授权为, 0x01|0x02|0x08 值为0x0B

  • <value_len>:值长度
  • <value>:值

示例

AT+GATTSSYNCADDDESCR=1,14,0x2902,0x03,2,0100

注意

值是长度为值长度两倍的字符串

AT+GATTSSTARTSERV 启动指定的GATT服务

格式

AT+GATTSSTARTSERV=<server_id,service_handle>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <server_id>:服务端id
  • <service_handle>:服务句柄

示例

AT+GATTSSTARTSERV=1,14

注意

-

AT+GATTSDELALLSERV 删除指定server上的所有服务

格式

AT+GATTSDELALLSERV=<server_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<server_id>:服务端id

示例

AT+GATTSDELALLSERV=1

注意

-

AT+GATTSSENDRSP 发送响应

格式

AT+GATTSSENDRSP=<server_id,conn_handle,request_id,status,offset,value_len,value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <server_id>:服务端id
  • <conn_handle>:连接句柄
  • <request_id>:请求id
  • <status>:请求结果
  • <offset>:偏移
  • <value_len>:值长度
  • <value>:值

示例

AT+GATTSSENDRSP=1,0,1,0,0,2,0x4562

注意

值是长度为值长度两倍的字符串

AT+GATTSSNDNTFY 发送通知或指示

格式

AT+GATTSSNDNTFY=<server_id,conn_handle,attr_handle,value_len,value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <server_id>:服务端id
  • <conn_handle>:连接句柄
  • <attr_handle>:偏移
  • <value_len>:值长度
  • <value>:值

示例

AT+GATTSSNDNTFY=1,0,9,7,0x00000000000014

注意

值是长度为值长度两倍的字符串

AT+GATTSSNDNTFYBYUUID 根据uuid发送通知或指示

格式

AT+GATTSSNDNTFYBYUUID=<server_id,conn_handle,chara_uuid,start_handle,end_handle,value_len,value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <server_id>:服务端id
  • <conn_handle>:连接句柄
  • <chara_uuid>:特征uuid
  • <start_handle>:起始句柄(0~255)
  • <end_handle>:结束句柄(0~255)
  • <value_len>:值长度
  • <value>:值

示例

AT+GATTSSNDNTFYBYUUID=1,0,0x2a4d,1,9,7,0x00000000000014

注意

值是长度为值长度两倍的字符串

AT+GATTSREGCBK 注册GATT服务端回调函数

格式

AT+GATTSREGCBK

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+GATTSREGCBK

注意

-

AT+GATTSSETMTU 在连接之前设置server rx mtu

格式

AT+GATTSSETMTU=<server_id,mtu_size>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <server_id>:服务端id
  • <mtu_size>:mtu大小(最大值:517)

示例

AT+GATTSSETMTU=1,23

注意

MTU默认值为23。

BLE测试模式AT指令

BLE测试模式AT指令一览表

指令

描述

AT+BLEFACCALLBACK

注册BLE命令回调(没有相应退出操作)

AT+BLETX

BLE常发指令

AT+BLERX

BLE常收指令

AT+BLETRXEND

BLE常发、常收停止指令

AT+BLERST

BLE软件复位指令

AT+SLEENABLE

SLE使能指令(没有相应退出操作)

AT+BLEFACCALLBACK

注册SLE命令回调(没有相应退出操作)

AT+SLETX

SLE常发指令

AT+SLERX

SLE常收指令

AT+SLETRXEND

SLE常发、常收停止指令

AT+SLERST

SLE软件复位指令

AT+BTTXLO

射频单音指令

BLE测试模式AT指令描述

说明: BLE测试模式命令,在AT+BLEENABLE指令下发后可用。

AT+BLEFACCALLBACK 注册ble状态回调

格式

AT+BLEFACCALLBACK

响应

  • 成功:OK
  • 失败:ERROR

示例

AT+BLEFACCALLBACK

注意

BLE测试前先注册回调,没有相应退出操作,测试BLE指令的前置条件,上电后发一次即可,重复发易出现问题。

AT+BLETX 开始ble常发

格式

AT+BLETX=<freq>,<payload_len>,<payload_type>,<phy>

响应

  • 成功:OK

    status:0x0

  • 失败:ERROR

参数说明

  • <freq>:发送频点

    发送频率范围是(2N+2402)MHz,其中N即freq,范围0~39,频率有效范围为2402~2480 MHz

  • <payload_len>:包长度

    37~255 Byte。

  • <payload_type>:发包模式

    0:PRBS9

    1:11110000

    2:10101010

    3:PRBS15

    4:11111111

    5:00000000

    6:00001111

    7:01010101

  • <phy>:PHY类型

    1:1M PHY

    2:2M PHY

    3:Coded PHY with S=8 data coding

    4:Coded PHY with S=2 data coding

示例

AT+BLETX=0,255,0,1

注意

参数为十进制,中间“,”不可省略

AT+BLERX 开始ble常收

格式

AT+BLERX=<freq>,<phy>,<modulation_index>

响应

  • 成功:OK

    status:0x0

  • 失败:ERROR

参数说明

  • <freq>:发送频点

    发送频率范围是(2N+2402)MHz,其中N即freq,范围0~39,频率有效范围2402~2480 MHz

  • <phy>:PHY类型

    1:1M PHY

    2:2M PHY

    3:Coded PHY with S=8 data coding

    4:Coded PHY with S=2 data coding

  • < modulation_index >:调制指数

    0:Assume transmitter will have a standard modulation index

    1:Assume transmitter will have a stable modulation index (不支持)

    2~256:Reserved

示例

AT+BLERX=0,1,0

注意

参数为十进制,中间“,”不可省略

AT+BLETRXEND 结束ble常发或常收

格式

AT+BLETRXEND

响应

  • 成功:OK

    status:0x0, num_packets:0x3e8

  • 失败:ERROR

示例

AT+BLETRXEND

回复:

OK

status:0x0, num_packets:0x3e8

说明:在RX结束后发送收包指令得到回复num_packets:0x3e8说明收到1000包。

注意

停止RX时保证在仪表发完包后执行。num_packet在RX结束后关注, num_packet:收包数

为避免丢包,停止RX时要保证在仪表完成发包后执行。

AT+BLERST 软复位ble

格式

AT+BLERST

响应

  • 成功:OK

    status:0x0

  • 失败:ERROR

示例

AT+BLERST

注意

BLE软件复位指令,在进行BLE RF测试前先发BLE复位指令恢复软件状态。

SLE

SLE AT指令一览表

指令

描述

AT+SLEENABLE

SLE使能。

AT+SLESETADVPAR

设置SLE广播参数。

AT+SLESETADVDATA

设置指令。

AT+SLESTARTADV

起SLE广播。

AT+SLESTOPADV

停SLE广播。

AT+SLESETNAME

设置本端名称。

AT+SLEGETNAME

获取本端名称。

AT+SLESETADDR

设置本端地址。

AT+SLEGETADDR

获取本端地址。

AT+SLESETPHY

设置SLE PHY。

AT+SLESETDEFAULTCONNP

设置SLE 默认连接参数。

AT+SLESETMCS

设置SLE连接mcs传输特性。

AT+SLEGETBONDDEV

获取绑定设备状态。

AT+SLECONNPARUPD

星闪逻辑链路更新参数。

AT+SLEREADPEERRSSI

读取对端rssi。

AT+SSAPSADDSRV

注册服务端。

AT+SSAPSDELALLSRV

删除服务端。

AT+SSAPSSYNCADDSERV

添加服务同步。

AT+SSAPSSYNCADDPROPERTY

添加属性同步。

AT+SSAPSSYNCADDDESCR

添加属性描述符同步。

AT+SSAPSSTARTSERV

start service。

AT+SSAPSSNDNTFY

服务端向客户端发送通知。

AT+SSAPSNTFYBYUUID

服务端向客户端通过uuid发送通知。

AT+SSAPSSNDRESP

服务端向客户端发送响应。

AT+SSAPSREGCBK

服务端注册回调函数。

SLE AT指令描述

SLE使能

设置指令

AT+SLEENABLE

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLEENABLE

注意

  

SLE去使能

设置指令

AT+SLEDISABLE

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLEDISABLE

注意

-

注册启停广播与扫描回调

表 1

设置指令

AT+SLEATCOMMONREGCBK

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLEATCOMMONREGCBK

注意

此命令需在SLE使能AT+SLEENABLE后下发, 注册该回调后才会启停广播与扫描的回调结果。

设置SLE广播参数

设置指令

AT+SLESETADVPAR=<announce_handle>,<announce_mode>,<announce_interval_min>,<announce_interval_max>,<own_addr_type>,<own_addr_addr>,<peer_addr_type>,<peer_addr_addr>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <announce_handle>:广播句柄,取值范围[1, 0x10]
  • <announce_mode>:广播类型

    0x00:不可连接不可扫描

    0x01:可连接不可扫描

    0x02:不可连接可扫描

    0x03:可连接可扫描

    0x07:可连接可扫描定向

  • <announce_interval_min>:广播周期最小值,0x000020~0xffffff,单位125μs
  • <announce_interval_max>:广播周期最大值,0x000020~0xffffff,单位125μs
  • <own_addr_type>:SLE本端地址类型

    0:公有地址

    6:随机地址

  • <own_addr_addr>:SLE本端设备地址
  • <peer_addr_type>:SLE对端设备地址类型

    0:公有地址

    6:随机地址

  • <peer_addr_addr>:SLE对端设备地址

示例

AT+SLESETADVPAR=1,3,200,200,0,000000000000,0,000000000000

注意

此命令需在SLE使能AT+SLEENABLE后下发, SLE会使用own_addr_addr作为地址起广播。

设置SLE广播数据

设置指令

AT+SLESETADVDATA=<adv_handle>,<announce_data_len>,<seek_rsp_data_len>,<announce_data>,<seek_rsp_data>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <adv_handle>:广播句柄,取值范围:[1, 0x10]
  • <announce_data_len>:广播数据长度,取值范围:一个字节, 0-231, 剩余字段预留
  • <seek_rsp_data_len>:扫描响应数据长度,取值范围:一个字节, 0-231, 剩余字段预留
  • <announce_data>:广播数据,hex类型字符串,announce_data_len个字节, 最大长度462个字符
  • <seek_rsp_data>:扫描响应数据,hex类型字符串,seek_rsp_data_len个字节, 最大长度462个字符

示例

AT+SLESETADVDATA=1,10,4,aabbccddeeff11223344,11224455

注意

此命令需在SLE使能AT+SLEENABLE后下发。

起SLE广播

设置指令

AT+SLESTARTADV=<adv_handle>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<adv_handle>:广播句柄,取值范围:1, 0x10

示例

AT+SLESTARTADV=1

注意

此命令需在SLE使能AT+SLEENABLE后下发。

停SLE广播

设置指令

AT+SLESTOPADV=<adv_handle>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<adv_handle>:广播句柄,取值范围:[1, 0x10]

示例

AT+SLESTOPADV=1

注意

此命令需在SLE起广播AT+SLESTARTADV=1后下发。

设置本端名称

设置指令

AT+SLESETNAME

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<len>:name长度

<name>:名字

示例

AT+SLESETNAME=7,SDKTEST

注意

-

获取本端名称

设置指令

AT+SLEGETNAME

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLEGETNAME

注意

-

设置本端地址

设置指令

AT+SLESETADDR

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <addr_type>:地址类型, 当前仅支持联盟分配地址标识-0
  • <addr>:地址

示例

AT+SLESETADDR=0,0x000000000001

注意

-

获取本端地址

设置指令

AT+SLEGETADDR

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLEGETADDR

注意

-

星闪逻辑链路更新参数

设置指令

AT+SLECONNPARUPD=<conn_id>,<interval_min>,<interval_max>,<max_latency>,<supervision_timeout>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <conn_id>:连接ID
  • <interval_min>:链路调度最小间隔,取值范围:[0x0002, 0x7D00],单位125μs
  • <interval_max>:链路调度最大间隔,取值范围:[0x0002, 0x7D00],单位125μs
  • <max_latency>:延迟周期,单位slot,该值表示在设置值的周期内可以不回复,为0时则表示每包都需回复, 取值范围[0, 0x1F3]
  • <supervision_timeout>:超时时间,单位10ms, 取值范围[0xA, 0xC80]

示例

AT+SLECONNPARUPD=0,20,20,0,500

注意

1. 参数配置需满足公式:supervision_timeout * 10 > ((1 + max_latency) * (interval_max >> 2)

2. interval_min需要小于等于interval_max

星闪读取远端rssi

该命令的作用:读取当前SLE ACB 链路的RSSI信号强度,RSSI(Received Signal Strength Indicator)是接收信号的强度指示。具体含义

设置指令

AT+SLEREADPEERRSSI=<conn_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<conn_id>:连接ID

示例

AT+SLEREADPEERRSSI=0

注意

-

设置SLE PHY

默认1M 4M暂时不支持

该命令作用:某些场景下需要高的传输速率,此时就通过设置tx_phy、rx_phy参数为2M。如果两端都支持2M,才能设置成功。

设置指令

AT+SLESETPHY=<conn_id>,<tx_phy>,<rx_phy>,<tx_format>,<rx_format>,<tx_pilot_density>,<rx_pilot_density>,<g_feedback>,<t_feedback>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <conn_id>:连接id
  • <tx_phy>:tx phy值

    0:1M PHY

    1:2M PHY

    2:4M PHY

  • <rx_phy>:tx phy值

    0:1M PHY

    1:2M PHY

    2:4M PHY

  • <tx_format>:取值范围为0~13
  • <rx_format>:取值范围为0~13
  • <tx_pilot_density>:取值范围为0~3
  • <rx_pilot_density>:取值范围为0~3
  • <g_feedback>:取值范围为0~63
  • <t_feedback>:取值范围为0~7

示例

AT+SLESETPHY=0,1,1,1,1,2,2,0,0

注意

tx_ph与rx_phy的取值范围: 0-0xFF, 其余字段为保留字段, 下发后不生效

设置SLE连接mcs传输特性

设置指令

AT+SLESETMCS =<conn_id>,<mcs>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<conn_id>:SLE连接id(AT+SLECONN指令执行成功以后,返回的回调里面打印)

<mcs>:conn_id对应的连接的传输方式

  • 最小值:0;
  • 最大值:12;

示例

AT+SLESETMCS=0,6

注意

-

获取绑定设备

设置指令

AT+SLEGETBONDDEV

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLEGETBONDDEV

注意

-

注册服务端

设置指令

AT+SSAPSADDSRV=<uuid>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SSAPSADDSRV=0x1234

注意

-

去注册服务端

设置指令

AT+SSAPSDELALLSRV

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SSAPSDELALLSRV

注意

-

添加服务同步

设置指令

AT+SSAPSSYNCADDSERV=<uuid>,<is_primary>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SSAPSSYNCADDSERV=0x2222,1

注意

-

属性参数说明:

typedef enum {
SSAP_PERMISSION_READ                     = 0x01,      /*可读*/
SSAP_PERMISSION_WRITE                    = 0x02,      /*可写*/
SSAP_PERMISSION_ENCRYPTION_NEED        = 0x04,      /*需要加密*/
SSAP_PERMISSION_AUTHENTICATION_NEED   = 0x08,      /*需要认证*/
SSAP_PERMISSION_AUTHORIZATION_NEED    = 0x10,      /*需要授权*/
} ssap_permission_t;
typedef enum {
SSAP_OPERATE_INDICATION_BIT_READ = 0x01,     /*数据值可被读取*/
SSAP_OPERATE_INDICATION_BIT_WRITE_NO_RSP = 0x02,  /*数据值可被写入,写入后无反馈*/
SSAP_OPERATE_INDICATION_BIT_WRITE = 0x04,    /*数据值可被写入,写入后产生反馈给客户端*/
SSAP_OPERATE_INDICATION_BIT_NOTIFY = 0x08,     /*数据值通过通知方式传递给客户端*/
SSAP_OPERATE_INDICATION_BIT_INDICATE = 0x10,    /*数据值通过指示方式传递给客户端*/
SSAP_OPERATE_INDICATION_BIT_BROADCAST = 0x20,   /*数据值可携带在广播中*/
SSAP_OPERATE_INDICATION_BIT_DESCRITOR_WRITE = 0x100,  /*数据值说明描述符可被写入*/
SSAP_OPERATE_INDICATION_MAX,                      /*操作指示最大值 */
} ssap_operate_indication_t;

添加属性同步

设置指令

AT+SSAPSSYNCADDPROPERTY=<service_handle>,<uuid>,<permissions>,<operate_indication>,<value_len>,<value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <service_handle>:服务的hadle
  • <uuid>:SSAP 特征 UUID
  • <permissions>:特征权限

    0x01:可读

    0x02:可写

    0x04:需要加密

    0x08:需要认证

    0x10:需要授权

    注:多个权限类型使用'|'后的值, 如可读可写需要授权为, 0x01|0x02|0x08 值为0x0B

  • <operate_indication>:操作指示

    0x01:数据值可被读取

    0x02:数据值可被写入,写入后无反馈

    0x04:数据值可被写入,写入后产生反馈给客户端

    0x08:数据值通过通知方式传递给客户端

    0x10:数据值通过指示方式传递给客户端

    0x20:数据值可携带在广播中

    0x100:数据值说明描述符可被写入

    0x200:客户端描述符可被写入

    0x400:服务端描述符可被写入

    注:多个权限类型使用'|'后的值, 如可读可写需要授权为, 0x01|0x02 值为0x03

  • <value_len>:响应的数据长度
  • <value>:响应的数据

示例

AT+SSAPSSYNCADDPROPERTY=1,0x2323,5,5,2,0x1234

注意

数据读写时,会依据<permissions>和<operate_indication>中的具体bit位来判断操作是否允许。比如<operate_indication>为0(不允许读写数据),则对端读写数据会被拒绝

添加属性描述符同步

设置指令

AT+SSAPSSYNCADDDESCR=<service_handle>,<property_handle>,<uuid>,<permissions>,<operate_indication>,<type>,<value_len>,<value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <service_handle>:服务handle
  • <property_handle>:属性handle
  • <uuid>:SSAP 描述符 UUID
  • <permissions>:特征权限

    0x01:可读

    0x02:可写

    0x04:需要加密

    0x08:需要认证

    0x10:需要授权

    注:多个权限类型使用'|'后的值, 如可读可写需要授权为, 0x01|0x02|0x08 值为0x0B

  • <operate_indication>:操作指示

    0x01:数据值可被读取

    0x02:数据值可被写入,写入后无反馈

    0x04:数据值可被写入,写入后产生反馈给客户端

    0x08:数据值通过通知方式传递给客户端

    0x10:数据值通过指示方式传递给客户端

    0x20: 数据值可携带在广播中

    0x100:数据值说明描述符可被写入

    注:多个权限类型使用'|'后的值, 如可读可写需要授权为, 0x01|0x02 值为0x03

  • <type>:描述符类型
  • <value_len>:数据长度
  • <value>:数据

示例

AT+SSAPSSYNCADDDESCR=1,2,0x3333,5,5,2,2,0x0200

注意

-

服务端向客户端发送通知

设置指令

AT+SSAPSSNDNTFY=<conn_id>,<handle>,<type>,<value_len>,<value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <conn_id>:服务handle
  • <handle>:属性handle
  • <type>:SSAP 特征类型

    0:特征值

    1:属性说明描述符

    2:客户端配置描述符

    3:服务端配置描述符

    4:格式描述符

    5:服务管理保留描述符,0x05–0x1F

    0xFF:厂商自定义描述符

  • <value_len>:数据长度
  • <value>:数据

示例

AT+SSAPSSNDNTFY=0,2,0,2,0x0200

注意

-

服务端向客户端通过uuid发送通知

设置指令

AT+SSAPSNTFYBYUUID=<conn_id>,<uuid>,<start_hdl>,<end_hdl>,<type>,<value_len>,<value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <conn_id>:服务handle
  • <uuid>:属性uuid
  • <start_hdl>:开始句柄
  • <end_hdl>:结束句柄
  • <type>:SSAP 特征类型

    0:特征值

    1:属性说明描述符

    2:客户端配置描述符

    3:服务端配置描述符

    4:格式描述符

    5:服务管理保留描述符,0x05–0x1F

    0xFF:厂商自定义描述符

  • <value_len>:数据长度
  • <value>:数据

示例

AT+SSAPSNTFYBYUUID=0,0x1234,0,0xFFFF,0,2,0x0200

注意

-

服务端发送响应

发送响应原因说明:

typedef enum {
ERRCODE_SSAP_INVALID_PDU = ERRCODE_SLE_SSAP_BASE + 0x01,                   /*服务端接收的 PDU 无效*/
ERRCODE_SSAP_PDU_NOT_SUPPORT = ERRCODE_SLE_SSAP_BASE + 0x02,                  /*服务端不支持处理接收的PDU*/
ERRCODE_SSAP_UNKNOW = ERRCODE_SLE_SSAP_BASE + 0x03,                           /*服务端执行请求时发生未知错误*/
ERRCODE_SSAP_INVALID_HANDLE = ERRCODE_SLE_SSAP_BASE + 0x04,                   /*请求中的句柄无效*/
ERRCODE_SSAP_INSUFFICIENT_RESOURCES = ERRCODE_SLE_SSAP_BASE + 0x05,           /*服务端没有足够资源完成请求*/
ERRCODE_SSAP_PROHIBIT_READING = ERRCODE_SLE_SSAP_BASE + 0x06,                 /*服务端禁止客户端读取值*/
ERRCODE_SSAP_PROHIBIT_WRITE = ERRCODE_SLE_SSAP_BASE + 0x07,                   /*服务端禁止客户端写入值*/
ERRCODE_SSAP_CLIENT_NOT_AUTHENTICATED = ERRCODE_SLE_SSAP_BASE + 0x08,         /*客户端未经过认证*/
ERRCODE_SSAP_CLIENT_NOT_AUTHORIZATION = ERRCODE_SLE_SSAP_BASE + 0x09,         /*客户端未被授权*/
ERRCODE_SSAP_BEARER_NOT_ENCRYPTED = ERRCODE_SLE_SSAP_BASE + 0x0A,             /*传输 PDU 的承载未加密*/
ERRCODE_SSAP_ENTRIES_NOT_FOUND = ERRCODE_SLE_SSAP_BASE + 0x0B,                /*服务端未找到对应条目*/
ERRCODE_SSAP_DATA_NOT_FOUND = ERRCODE_SLE_SSAP_BASE + 0x0C,                   /*服务端未找到对应类型数据*/
ERRCODE_SSAP_INCORRECT_DATA_TYPE = ERRCODE_SLE_SSAP_BASE + 0x0D,              /*客户端发送写入数据类型不符的错误*/
ERRCODE_SSAP_INCORRECT_DATA_VALUE = ERRCODE_SLE_SSAP_BASE + 0x0E,             /*客户端发送写入值不符的错误*/
ERRCODE_SSAP_VALUE_OUT_OF_RANGE = ERRCODE_SLE_SSAP_BASE + 0x0F,               /*客户端写入的值超出范围*/
ERRCODE_SSAP_UPPERLAYER_APPLICATION_ERROR_MIN = ERRCODE_SLE_SSAP_BASE + 0xAF,        /*预留给上层协议定义应用错误*/
ERRCODE_SSAP_UPPERLAYER_APPLICATION_ERROR_MAX = ERRCODE_SLE_SSAP_BASE + 0xFF,        /*预留给上层协议定义应用错误*/
} errcode_sle_ssap_t;

设置指令

AT+SSAPSSNDRESP=<conn_id>,<request_id>,<status>,<value_len>,<value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <conn_id>:服务handle
  • <request_id>:请求id
  • <status>:发送响应原因
  • <value_len>:数据长度
  • <value>:数据

示例

AT+SSAPSSNDRESP=0,0,1,2,0x0200

注意

-

服务端注册回调

设置指令

AT+SSAPSREGCBK

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SSAPSREGCBK

注意

-

start service

设置指令

AT+SSAPSSTARTSERV=<service_handle>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<service_handle>:服务handle

示例

AT+SSAPSSTARTSERV=1

注意

-

服务端发起信息交换

设置指令

AT+SSAPSSETINFO=<mtu_size>,<version>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <mtu_size>:ssap 通道mtu

    最小值:251

    最大值:1500

  • <version>:版本号(预留字段)。

示例

AT+SSAPSSETINFO=251,1

注意

-

SLE测试模式AT指令

SLE测试模式AT指令一览表

指令

描述

AT+SLEFACCALLBACK

注册SLE命令回调(没有相应退出操作)

AT+SLETX

SLE常发指令

AT+SLERX

SLE常收指令

AT+SLETRXEND

SLE常发、常收停止指令

AT+SLERST

SLE软件复位指令

SLE测试模式AT指令描述

说明: SLE测试模式命令,在AT+SLEENABLE指令下发后可用。

AT+SLEFACCALLBACK 注册SLE状态回调

格式

AT+SLEFACCALLBACK

响应

[AT] sle factory register cbks.

  • 成功:OK
  • 失败:ERROR

示例

AT+SLEFACCALLBACK

注意

SLE测试前先注册回调,没有相应退出操作,测试SLE指令的前置条件之一。

上电后发一次即可,重复发易出现问题。

AT+SLETX 开始sle常发

格式

AT+SLETX=<freq>,<pwr>,<payload_len>,<payload_type>,<phy>,<format>,<TX_rate>,<pilot>,<polar>,<interval>

响应

  • 成功:OK

    status:0x0

  • 失败:ERROR

参数说明

  • <freq>:发送频点

    0~78:射频信道号依次对应对应2402~2480 MHz。

  • <pwr>:发送功率
    • GFSK:

      0:4dBm

      1:6dBm

      2:8dBm

      3:10dBm

      4:12dBm

      5:14dBm

    • QPSK/8PSK:

      0:2dBm

      1:4dBm

      2:6dBm

      3:8dBm

      4:10dBm

      5:12dBm

  • <payload_len>:包长度

    根据星闪协议,包长范围是0~255 Byte

  • <payload_type>:发包模式

    0:PRBS9

    1:11110000

    2:10101010

    3:PRBS15

    4:11111111

    5:00000000

    6:00001111

    7:01010101

  • <phy>:PHY类型

    0:1M

    1:2M

    4:4M

  • <format>:帧类型

    0:无线帧类型1

    2:无线帧类型2

  • <TX_rate>:速率

    0:GFSK

    2:QPSK

    3:8PSK

  • <pilot>:导频

    0:无导频

    1:1:1

    2:4:1

    3:16:1

  • <polar>:编码

    0:无编码

    2:3/4

  • <interval>:间隔

    经验证间隔需要[6,255] (单位125μs), payload length为255Byte时,建议interval设置为50

示例

AT+SLETX=0,5,255,0,1,2,2,0,0,50

注意

参数为十进制,中间“,”不可省略

AT+SLERX 开始sle常收

格式

AT+SLERX=<freq>,<phy>,<format><pilot><interval>

响应

  • 成功:OK

    status:0x0

  • 失败:ERROR

参数说明

  • <freq>:发送频点

    0~78:射频信道号依次对应对应2402~2480 MHz。

  • <phy>:PHY类型

    0:1M

    1:2M

    4:4M

  • <format>:帧类型

    0:无线帧类型1

    2:无线帧类型2

  • <pilot>:导频

    0:无导频

    1:1:1

    2:4:1

    3:16:1

  • <interval>:间隔

    经验证间隔需要[6,255] (单位125μs), payload length为255Byte时,建议interval设置为50

示例

AT+SLERX=0,0,0,0,50

注意

参数为十进制,中间“,”不可省略

AT+SLETRXEND 结束sle常发或常收

格式

AT+SLETRXEND

响应

  • 成功:OK

    status:0x0,num_packet:0x3e8,rssi:0x81

  • 失败:ERROR

示例

AT+SLETRXEND

回复:

OK

status:0x0,num_packet:0x3e8,rssi:0x81

说明:如仪表发1000包后发结束指令,测试RX的收报数为1000包(0x3e8),测试RX的接收能量rssi为-127dbm(0x81)

如果发TX后执行结束指令,则收报数为0, rssi为0。

注意

此指令在执行SLE RF TX、RX后需要停止时执行。rssi和num_packet在RX结束后关注,rssi:接收能量值, num_packet:收包数

为避免丢包,停止RX时要保证在仪表完成发包后执行

AT+SLERST 软复位sle

格式

AT+SLERST

响应

  • 成功:OK

    status:0x0

  • 失败:ERROR

示例

AT+SLERST

注意

软件复位指令

PLAT模块AT指令

读取NV项

设置指令

AT+NVREAD=<key_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <key_id>:需要读取的NV项的ID

示例

AT+NVREAD=0x3 //读取ID为0x3的NV项

NV[0x3] is permanent //该NV项持有永久属性,无法通过命令或者接口修改NV值

NV[0x3] is non_upgrade //该NV项持有不可升级属性,无法通过OTA修改NV值

nv_value[0] = [0x1] //该NV项长度为一个字节,第一个字节值为1

OK

注意

-

修改NV项

设置指令

AT+NVWRITE=<key_id>,<attr>,<length>,<value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<key_id>:需要修改的NV项的ID

<attr>:需要修改的属性值,

  • 0:普通NV
  • 1:永久NV,不可修改/升级
  • 2. 加密NV,可修改,不可OTA升级
  • 4:不可升级NV,可修改,不可OTA升级

<length>:需要修改的值的长度,对于非加密NV项,支持最大值为4060;加密NV项为4032

<value>:需要修改的值,每两个字符识别为一个字节

示例

AT+NVWRITE=0x5,0,6,010203040506 将ID为0x5的NV项的值修改为1~6。

nv_value[0] = [0x1]

nv_value[1] = [0x2]

nv_value[2] = [0x3]

nv_value[3] = [0x4]

nv_value[4] = [0x5]

nv_value[5] = [0x6]

OK

注意

  • value输入时不要加'0x'头,不然会影响对length的判断

打印版本号

设置指令

AT+CSV

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+CSV

注意

-

打印死机信息

设置指令

AT+DUMP

响应

  • 成功:OK,打印上一次死机时保存的信息
  • 失败:ERROR

参数说明

-

示例

AT+DUMP

注意

-

写入efuse mac

设置指令

AT+EFUSEMAC=<mac_addr>,<type>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<mac_addr>:需要设置的mac_addr,全0,全1,组播地址会自动返错,设置失败

<type>:设置mac地址的类型,

  • 0:写入wifi mac地址到eFuse
  • 1:写入wifi mac地址到nv
  • 2:写入sle mac地址到eFuse(不支持)
  • 3:写入sle mac地址到nv

示例

AT+EFUSEMAC=00:22:33:44:55:cc,0 写入wifi mac地址,最多可写三次,软件使用最后一次写入值

OK

AT+EFUSEMAC=00:22:33:44:55:44,3 写入sle mac地址到nv

OK

注意

-

读取efuse mac

设置指令

AT+EFUSEMAC?

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+EFUSEMAC?

+EFUSEMAC: NV MAC 00:00:00:00:**:** // 打印NV存储的mac地址

+EFUSEMAC: EFUSE MAC 00:22:33:44:**:** // 打印写入efuse中的wifi mac地址(打印最后一次写入的地址)

+EFUSEMAC: Efuse mac chance(s) left: 0 times. // 提示efuse中wifi的mac地址还能写几次(最多写三次)

+EFUSEMAC: EFUSE SLE MAC 00:22:33:44:**:** // 打印efuse中保存的sle mac地址

+EFUSEMAC: NV SLE MAC 00:00:00:00:**:** // 打印NV存储的sle mac地址

OK

注意

-

获取系统时间

设置指令

AT+DATE

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+DATE

Thu Jan 1 09:46:06 1970

OK

注意

-

设置系统时间

设置指令

AT+DATE=<time_format>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+DATE=05/14

Thu May 14 09:46:15 1970

AT+DATE=05:14

Thu May 14 05:14:55 1970

AT+DATE=2024/05

Thu May 14 05:16:55 2024

AT+DATE=05:14:15

Thu May 14 05:14:15 2024

AT+DATE=20230413

Thu Apr 13 05:15:14 2023

AT+DATE=2022/03/12

Thu Mar 12 05:16:14 2022

注意

-

设置IO工作模式

设置指令

AT+SETIOMODE=<ID>,<MODE>,<PULL>,<DS>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ID>:0~47
  • <MODE>:0~7,IO管脚复用模式,各管脚支持的复用模式不同,具体请参考《芯片用户指南》(可联系技术支持人员获取)。
  • <PULL>:引脚上下拉状态,范围0~2。

    0:去使能;

    1:上拉;

    2:下拉;

  • <DS>:0~7,引脚驱动能力,从7到0,驱动能力依次减弱

示例

AT+SETIOMODE=2,2,2,2

+SETIOMODE:<ID>,<MODE>,<PULL>,<DS>

OK

注意

-

查询IO工作模式

设置指令

AT+GETIOMODE=<ID>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ID>:0~47

示例

AT+GETIOMODE=1

+GETIOMODE:<ID>,<MODE>,<PULL>,<DS>

OK

  • <MODE>:0~7,IO管脚复用模式,各管脚支持的复用模式不同,具体请参考《芯片用户指南》(可联系技术支持人员获取)。<PULL>:引脚上下拉状态。范围0~2,。

    0:去使能;

    1:上拉;

    2:下拉;

  • <DS>:0~7,引脚驱动能力,从7到0,驱动能力依次减弱

注意

-

设置GPIO工作为输入或输出

设置指令

AT+GPIODIR=<ID>,<DIR>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ID>:0~47
  • <DIR>:

    0:输入;

    1:输出。

示例

AT+GPIODIR=2,1

+GPIODIR:<ID>,<DIR>

OK

注意

当查询的ID对应管脚不为GPIO复用状态时会返错

设置GPIO的电平状态

设置指令

AT+WTGPIO=<ID>,<LEVEL>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ID>:0~47
  • <LEVEL>:0为低电平,1为高电平

示例

AT+WTGPIO=2,1

+WRGPIO:<ID>,<DIR>,<LEVEL>

OK

  • <DIR>:

    0:输入;

    1:输出。

注意

当查询的ID对应管脚不为输出模式时会返错

读取GPIO的电平状态

设置指令

AT+RDGPIO=<ID>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ID>:0~47

示例

AT+RDGPIO=2

+RDGPIO:<ID>,<DIR>,<LEVEL>

OK

  • <DIR>:

    0:输入;

    1:输出。

  • <LEVEL>:

    0:低电平;

    1:高电平。

注意

-

写入厂商码

设置指令

AT+WRITEACCC=<vendor_code>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <vendor_code>:0x0~0xFFFF

示例

AT+WRITEACCC=0x1234

OK

注意

-

系统低功耗设置

设置指令

AT+SLP=<sleep_mode>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <sleep_mode>:0~2

    0:关闭系统低功耗

    1:系统低功耗配置浅睡模式

    2:系统低功耗配置深睡模式

示例

AT+SLP=2

OK

注意

-

超深睡设置

设置指令

AT+USLP=<AGPIO>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<AGPIO>:S_AGPIO软件标号。

WS53(S_AGPIO0~S_AGPIO9编号对应32~41)

示例

使用AGPIO3作为超深睡唤醒引脚。

AT+USLP=35

OK

注意

-

写入用户预留位

设置指令

AT+CUSTOMEFUSE=<efuse_data>[,<force>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <efuse_data>:0x0123456789abcdef2546565487341248,0x开头的128bit 16进制数,高位与efuse高位对应
  • <force>:该参数为可选参数;表示是否强制写入,当设置为强制写入时,忽略要写入bit位的状态,efuse_data中为1的bit会确保为1,为0的bit不会被写入efuse;不输入该参数时,与该参数输入为0时效果相同

    0:不强制写

    1:强制写入

示例

按以下流程依次将最低位和次低位写1:

  1. AT+CUSTOMEFUSE=0x00000000000000000000000000000001

    OK

    该命令可以把最低bit位写为1,需要将最低位配置为1,其他不需要写入的bit位配置为0

  2. AT+CUSTOMEFUSE=0x00000000000000000000000000000002

    ERROR

    由于整个客户预留位已有最低位被写入,因此不能继续写入

  3. AT+CUSTOMEFUSE=0x00000000000000000000000000000002,1

    OK

配置第二个参数为1后,可再次写入客户预留位。该命令执行完后,结合第一条命令,此时最低位和次低位都写为1,需要注意,因此查询整个客户预留位结果为0x00000000000000000000000000000003

注意

该命令只在产测版本可使用。

efuse_data数据位宽必须为128bit,为0的数据位不可省略。

写入eduse_data时需注意,要写入的bit位写1,不需要写入的bit位写0。

写入的bit位不能与之前已写入的bit位有重叠。

由于efuse只能将bit位从0写为1,不能从1写为0,本命令也有同样的约束。

查询用户预留位

设置指令

AT+CUSTOMEFUSE?

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+CUSTOMEFUSE?

RESERVED EFUSE:0x1032547698badcfeefcdab8967452301

OK

注意

该命令只在产测版本可使用

AT+SETUART 配置串口功能

设置指令

AT+SETUART=<debug_uart>,<at_uart>,<hso_uart>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <debug_uart>:debug打印串口,取值范围:0~2,默认值为2
  • <at_uart>:AT命令串口,取值范围:0、2,默认值为2
  • <hso_uart>:HSO通信串口,取值范围:0~2,默认值为1

三个UART取值0、1、2对应的串口如下:

  • 0:UART H1
  • 1:UART H0
  • 2:UART L0

示例

AT+SETUART=0,0,1

OK

AT+SETUART=0,1,2

OK

注意

  • HSO必须独占一个串口。
  • 该命令配置在单板重启后才能生效。
  • 该命令在产测版本不支持,产测版本仅有打印

写入第二个用户预留位

须知: 该写入为不可逆操作,写入的EFUSE位为复用安全启动中根公钥HASH的EFUSE区域,写入该区域后,将无法使用安全启动功能。

设置指令

AT+CUSTOMEFUSEREUSEFAPC=<efuse_data>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <efuse_data>:0x0123456789abcdef2546565487341248,0x开头的128bit 16进制数,高位与EFUSE高位对应

示例

AT+CUSTOMEFUSEREUSEFAPC=0x0123456789abcdef2546565487341248

OK

注意

  • efuse_data数据位宽必须为128bit,高位为0时不可省略,该命令只在产测版本可使用。
  • 该命令最多可执行成功两次,第二次写入时为在第一次写入内容的尾部追加写入,非覆盖。

查询第二个用户预留位

设置指令

AT+CUSTOMEFUSEREUSEFAPC?

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+CUSTOMEFUSEREUSEFAPC?

RESERVED2 EFUSE:0x1032547698badcfeefcdab8967452301

OK

注意

  • 该命令只在产测版本可使用。
  • 该命令优先读取第二组128bit数据,读取为空后(全0)会读取第一组数据,第一组数据也为空时,返回全0数据。

设置打印等级

设置指令

AT+LOGL=<level>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<level>:

  • 0:debug级别
  • 1:warn级别
  • 2:error级别

示例

AT+LOGL=1 //设置打印等级

+LOGL:1

OK

AT+LOGL //查询打印等级

+LOGL:1

OK

注意

  • 无参数时为查询打印等级
  • 产测版本不支持
  • 该命令供客户使用,且仅对以下打印接口生效:

    dfx_print_info,dfx_print_warn,dfx_print_error,dfx_print